searchBySummary.js ➔ ???   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 38
Code Lines 25

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 25
nc 1
dl 0
loc 38
c 1
b 0
f 0
rs 9.28
nop 4

1 Function

Rating   Name   Duplication   Size   Complexity  
A searchBySummary.js ➔ ... ➔ ??? 0 11 2
1
'use strict'
2
3
const debug = require('debug')('jira-resource')
4
const request = require('request')
5
6
const debugResponse = require('./debugResponse.js')
7
const replaceTextFileString = require('./replaceTextFileString.js')
8
9
module.exports = (baseFileDir, source, params, callback) => {
10
    debug('Searching for issue: %s', params.summary)
11
12
    const searchUrl = source.url + '/rest/api/2/search/'
13
    const summary = replaceTextFileString(baseFileDir, params.summary)
14
    const jql = 'project="' + source.project + '" AND summary~"' + summary + '" ORDER BY id DESC'
15
16
    let search = {
17
        jql:        jql,
18
        maxResults: 1,
19
        fields:     [
20
            'key',
21
            'summary'
22
        ]
23
    }
24
25
    debug('Sending search: %s', jql)
26
27
    request({
28
        method: 'POST',
29
        uri:    searchUrl,
30
        auth:   {
31
            username: source.username,
32
            password: source.password
33
        },
34
        json:   search
35
    }, (error, response, body) => {
36
        if ( error ) {
37
            callback(error)
38
        }
39
40
        debugResponse(response)
41
42
        let issue = body.issues[0]
43
44
        callback(null, issue)
45
    })
46
}
47